In a distributed signal processing system comprised of a plurality of elements interconnected by at least one bus, a method of arbitration is required to determine which element will use the bus first when two or more elements attempt to use said bus simultaneously. Various methods and apparatus are known in the prior art for interconnecting such a system which may be comprised of elements functioning as signal processors, mass memories and input/output controllers.
One method of prior art for bus arbitration provides for a central arbiter to communicate with all the elements desiring to use a bus simultaneously. This central bus arbiter determines the elements with the highest priority and sends out a command signal permitting this high priority element to use the bus. A significant disadvantage of this type of system is that a single point failure in the central bus arbiter will cause the entire signal processing system to fail thereby defeating any fault-tolerant capability of the system.
Another approach in the prior art for bus arbitration has been referred to as daisy chaining. In this method, a bus available signal is transmitted from element to element in a priority order. An element desiring access to the bus captures the signal and thereby gets access to the bus. This technique provides a source of single point failures thereby rendering a system inoperative; it also is a relatively slow arbitration method and the polarity of elements may be determined in such a method by the physical position of the element hardware. Under these conditions, if an element is removed from the hardware configuration, rewiring is generally required so that a bus available signal may be transmitted past the vacant element location.
A third prior art method of bus arbitration provides for each device to simultaneously transmit its priority code as a string of pulses on signal lines separate from the main data bus. The number of said signal lines is determined by the numbering system and coding techniques used. If pulse coding is used, said pulses are sent to counters in each device. When a device receives a total count equal to its own priority code, it has won arbitration and gets access to the main data line. When the priority number received by a device counter does not equal its device priority number, said device withdraws from the arbitration process. This method of bus arbitration, however, requires additional signal lines and interface circuits for transmission and detection of device priority codes with the number of said lines and circuits being determined by the numbering system and coding technique selected.
In order to achieve fault-tolerance in a distributed signal processing system, the method of arbitration must be distributed throughout the elements making up the system. In this way, when a failure occurs in the arbitration apparatus within an element, the automatic removal of the complete faulty element from the system configuration does not affect the overall arbitration system nor the functioning of the remaining elements in the system. In addition, the minimization of the number of interface lines and circuits between system elements contributes to a higher reliability system.